package game.components;

import android.graphics.Paint;
import game.fury.R;
import sheep.graphics.Image;
import sheep.math.Vector2;

/**
 *	All of the constants for the game
 * 	@author Marius Haugen
 */

public class Constants {
	
	//ball params
	public static int balls;
	public Vector2 ballshape;
	public Vector2 ballpos;
	public Vector2 ballSpeed;
	public Image ballimage;
	public Image ballImageYellow;
	public Image ballImageChuck;
	public int ballStrengthStd;
	public int ballStrengthYellow;
	public int ballStrengthChuck;
	
	public float speedChange;
	public float powerUpSpeed;
	public float powerUpFreq;
	
	//padle params
	public Vector2 padleshape;
	public Vector2 padlepos;
	public Image padleimage_small;
	public Image padleimage_std;
	public Image padleimage_big;
	public int padleSizeSmall;
	public int padleSizeDefault;
	public int padleSizeBig;
	
	//Brick params
	public Vector2 brickshape;
	public Vector2 brickpos;
	public Image brickimageRed;
	public Image brickimageBlue;
	public Image brickimageGreen;
	public float brickFreq;
	public int brickRedStrength;
	public int brickBlueStrength;
	public int brickGreenStrength;
	
	//backrounds
	public Image furyBackground;
	public Image playLine;
	public Image scoreLine;

	//PowerUp params
	public Image bluePowerup;
	public Image redPowerup;
	public Image greenPowerup;
	public Image yellowPowerup;
	public Image pinkPowerUp;
	public Image chuck;
	public String padlePowerBig;
	public String padlePowerNorm;
	public String padlePowerSmall;
	public String ballPowerStrong;
	public String ballPowerChuck;
	
	//paint params
	public Paint paintScore;
	public Paint paintGameOver;
	public Paint paintGameWon;
	
	//Borders
	public float leftbound;
	public float rigthbound;
	public float upperbound;
	public float lowerbound;
	
	// level
	public int maxLevel;
	
	
	/**
	 * Constructor sets all of the params for the constants
	 */
	public Constants(){
		
		//ball
		ballimage  = new Image(R.drawable.furyball);
		ballImageYellow = new Image(R.drawable.furyball_yellow);
		ballImageChuck = new Image(R.drawable.chuck_ball);
		ballpos  = new Vector2(240, 200);
		ballSpeed  = new Vector2(130, -150);
		speedChange = 1f;
		balls = 4;
		ballStrengthStd = 1;
		ballStrengthYellow = 2;
		ballStrengthChuck = 5;
		
		//padle
		padlepos = new Vector2(240, 680);
		padleimage_small = new Image(R.drawable.furypadle_35x5);
		padleimage_std = new Image(R.drawable.furypadle_70x10);
		padleimage_big = new Image(R.drawable.furypadle_120x10);
		padleSizeSmall = 0;
		padleSizeDefault = 1;
		padleSizeBig = 2;
	
		//bricks
		brickimageRed = new Image(R.drawable.brick_red_50x20);
		brickimageBlue = new Image(R.drawable.brick_blue_50x20);
		brickimageGreen = new Image(R.drawable.brick_green_50x20);
		brickFreq = 0.5f;
		brickRedStrength =0;
		brickBlueStrength =1;
		brickGreenStrength =2;
		
		//backgrounds
		furyBackground = new Image(R.drawable.backround_b_480x800);
		playLine = new Image(R.drawable.loverbackground_480x90);
		scoreLine = new Image(R.drawable.topline_480x35);
		
		//powerups
		bluePowerup = new Image(R.drawable.bluepowerup_20x20);
		redPowerup = new Image(R.drawable.redpowerup_20x20);
		greenPowerup = new Image(R.drawable.greenpowerup_20x20);
		yellowPowerup = new Image(R.drawable.yellowpowerup_20x20);
		pinkPowerUp = new Image(R.drawable.pink_powerup);
		chuck = new Image(R.drawable.chuck_norris);
		
		powerUpFreq = 0.2f;
		powerUpSpeed = 50;
		padlePowerSmall = "padleSmall";
		padlePowerNorm = "padleNorm";
		padlePowerBig = "padleBig";
		ballPowerStrong = "ballStrong";
		ballPowerChuck = "chuck";
		
		//borders
		leftbound = 5;
		rigthbound = 470;
		upperbound = 35;
		lowerbound = 685;
		
		//paint
		paintScore = new Paint();
		paintScore.setColor(-16777216);
		paintScore.setTextSize(30);
		paintGameOver = new Paint();
		paintGameOver.setColor(-1);
		paintGameOver.setTextSize(50);
		paintGameWon = new Paint();
		paintGameWon.setColor(-1);
		paintGameWon.setTextSize(50);
		
		// level
		maxLevel = 3;
		
	}
	

}
